home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1992-09-27 | 4.9 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, Sun Sep 27 03:02:40 1992, modified Sun Sep 27 03:02:40 1992, creator 'MPS ', type ASCII, 4253 bytes "usersub.c" , at 0x111d 428 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 75 73 65 72 73 75 | 62 2e 63 00 00 00 00 00 |..usersu|b.c.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 10 9d 00 | 00 01 ac a6 eb 0d 10 a6 |........|........|
|00000060| eb 0d 10 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 37 a9 00 00 |........|....7...|
|00000080| 2f 2a 20 24 52 43 53 66 | 69 6c 65 3a 20 75 73 65 |/* $RCSf|ile: use|
|00000090| 72 73 75 62 2e 63 2c 76 | 20 24 24 52 65 76 69 73 |rsub.c,v| $$Revis|
|000000a0| 69 6f 6e 3a 20 34 2e 30 | 2e 31 2e 32 20 24 24 44 |ion: 4.0|.1.2 $$D|
|000000b0| 61 74 65 3a 20 39 32 2f | 30 36 2f 30 38 20 31 36 |ate: 92/|06/08 16|
|000000c0| 3a 30 34 3a 32 34 20 24 | 0d 20 2a 0d 20 2a 20 20 |:04:24 $|. *. * |
|000000d0| 54 68 69 73 20 66 69 6c | 65 20 63 6f 6e 74 61 69 |This fil|e contai|
|000000e0| 6e 73 20 73 74 75 62 73 | 20 66 6f 72 20 72 6f 75 |ns stubs| for rou|
|000000f0| 74 69 6e 65 73 20 74 68 | 61 74 20 74 68 65 20 75 |tines th|at the u|
|00000100| 73 65 72 20 6d 61 79 20 | 64 65 66 69 6e 65 20 74 |ser may |define t|
|00000110| 6f 0d 20 2a 20 20 73 65 | 74 20 75 70 20 67 6c 75 |o. * se|t up glu|
|00000120| 65 20 72 6f 75 74 69 6e | 65 73 20 66 6f 72 20 43 |e routin|es for C|
|00000130| 20 6c 69 62 72 61 72 69 | 65 73 20 6f 72 20 74 6f | librari|es or to|
|00000140| 20 64 65 63 72 79 70 74 | 20 65 6e 63 72 79 70 74 | decrypt| encrypt|
|00000150| 65 64 20 73 63 72 69 70 | 74 73 0d 20 2a 20 20 66 |ed scrip|ts. * f|
|00000160| 6f 72 20 65 78 65 63 75 | 74 69 6f 6e 2e 0d 20 2a |or execu|tion.. *|
|00000170| 0d 20 2a 20 24 4c 6f 67 | 3a 09 75 73 65 72 73 75 |. * $Log|:.usersu|
|00000180| 62 2e 63 2c 76 20 24 0d | 20 2a 20 52 65 76 69 73 |b.c,v $.| * Revis|
|00000190| 69 6f 6e 20 34 2e 30 2e | 31 2e 32 20 20 39 32 2f |ion 4.0.|1.2 92/|
|000001a0| 30 36 2f 30 38 20 20 31 | 36 3a 30 34 3a 32 34 20 |06/08 1|6:04:24 |
|000001b0| 20 6c 77 61 6c 6c 0d 20 | 2a 20 70 61 74 63 68 32 | lwall. |* patch2|
|000001c0| 30 3a 20 72 65 6d 6f 76 | 65 64 20 69 6d 70 6c 69 |0: remov|ed impli|
|000001d0| 63 69 74 20 69 6e 74 20 | 64 65 63 6c 61 72 61 74 |cit int |declarat|
|000001e0| 69 6f 6e 73 20 6f 6e 20 | 66 75 6e 63 74 69 6f 6e |ions on |function|
|000001f0| 73 0d 20 2a 20 0d 20 2a | 20 52 65 76 69 73 69 6f |s. * . *| Revisio|
|00000200| 6e 20 34 2e 30 2e 31 2e | 31 20 20 39 31 2f 31 31 |n 4.0.1.|1 91/11|
|00000210| 2f 31 31 20 20 31 36 3a | 34 37 3a 31 37 20 20 6c |/11 16:|47:17 l|
|00000220| 77 61 6c 6c 0d 20 2a 20 | 70 61 74 63 68 31 39 3a |wall. * |patch19:|
|00000230| 20 64 65 6c 65 74 65 64 | 20 73 6f 6d 65 20 75 6e | deleted| some un|
|00000240| 75 73 65 64 20 66 75 6e | 63 74 69 6f 6e 73 20 66 |used fun|ctions f|
|00000250| 72 6f 6d 20 75 73 65 72 | 73 75 62 2e 63 0d 20 2a |rom user|sub.c. *|
|00000260| 20 0d 20 2a 20 52 65 76 | 69 73 69 6f 6e 20 34 2e | . * Rev|ision 4.|
|00000270| 30 20 20 39 31 2f 30 33 | 2f 32 30 20 20 30 31 3a |0 91/03|/20 01:|
|00000280| 35 35 3a 35 36 20 20 6c | 77 61 6c 6c 0d 20 2a 20 |55:56 l|wall. * |
|00000290| 34 2e 30 20 62 61 73 65 | 6c 69 6e 65 2e 0d 20 2a |4.0 base|line.. *|
|000002a0| 20 0d 20 2a 2f 0d 0d 23 | 69 6e 63 6c 75 64 65 20 | . */..#|include |
|000002b0| 22 45 58 54 45 52 4e 2e | 68 22 0d 23 69 6e 63 6c |"EXTERN.|h".#incl|
|000002c0| 75 64 65 20 22 70 65 72 | 6c 2e 68 22 0d 0d 69 6e |ude "per|l.h"..in|
|000002d0| 74 0d 75 73 65 72 69 6e | 69 74 28 29 0d 7b 0d 20 |t.userin|it().{. |
|000002e0| 20 20 20 72 65 74 75 72 | 6e 20 30 3b 0d 7d 0d 0d | retur|n 0;.}..|
|000002f0| 2f 2a 20 42 65 20 73 75 | 72 65 20 74 6f 20 72 65 |/* Be su|re to re|
|00000300| 66 65 74 63 68 20 74 68 | 65 20 73 74 61 63 6b 20 |fetch th|e stack |
|00000310| 70 6f 69 6e 74 65 72 20 | 61 66 74 65 72 20 63 61 |pointer |after ca|
|00000320| 6c 6c 69 6e 67 20 74 68 | 65 73 65 20 72 6f 75 74 |lling th|ese rout|
|00000330| 69 6e 65 73 2e 20 2a 2f | 0d 0d 69 6e 74 0d 63 61 |ines. */|..int.ca|
|00000340| 6c 6c 62 61 63 6b 28 73 | 75 62 6e 61 6d 65 2c 20 |llback(s|ubname, |
|00000350| 73 70 2c 20 67 69 6d 6d | 65 2c 20 68 61 73 61 72 |sp, gimm|e, hasar|
|00000360| 67 73 2c 20 6e 75 6d 61 | 72 67 73 29 0d 63 68 61 |gs, numa|rgs).cha|
|00000370| 72 20 2a 73 75 62 6e 61 | 6d 65 3b 0d 69 6e 74 20 |r *subna|me;.int |
|00000380| 73 70 3b 09 09 09 2f 2a | 20 73 74 61 63 6b 20 70 |sp;.../*| stack p|
|00000390| 6f 69 6e 74 65 72 20 61 | 66 74 65 72 20 61 72 67 |ointer a|fter arg|
|000003a0| 73 20 61 72 65 20 70 75 | 73 68 65 64 20 2a 2f 0d |s are pu|shed */.|
|000003b0| 69 6e 74 20 67 69 6d 6d | 65 3b 09 09 2f 2a 20 63 |int gimm|e;../* c|
|000003c0| 61 6c 6c 65 64 20 69 6e | 20 61 72 72 61 79 20 6f |alled in| array o|
|000003d0| 72 20 73 63 61 6c 61 72 | 20 63 6f 6e 74 65 78 74 |r scalar| context|
|000003e0| 20 2a 2f 0d 69 6e 74 20 | 68 61 73 61 72 67 73 3b | */.int |hasargs;|
|000003f0| 09 09 2f 2a 20 77 68 65 | 74 68 65 72 20 74 6f 20 |../* whe|ther to |
|00000400| 63 72 65 61 74 65 20 61 | 20 40 5f 20 61 72 72 61 |create a| @_ arra|
|00000410| 79 20 66 6f 72 20 72 6f | 75 74 69 6e 65 20 2a 2f |y for ro|utine */|
|00000420| 0d 69 6e 74 20 6e 75 6d | 61 72 67 73 3b 09 09 2f |.int num|args;../|
|00000430| 2a 20 68 6f 77 20 6d 61 | 6e 79 20 61 72 67 73 20 |* how ma|ny args |
|00000440| 61 72 65 20 70 75 73 68 | 65 64 20 6f 6e 20 74 68 |are push|ed on th|
|00000450| 65 20 73 74 61 63 6b 20 | 2a 2f 0d 7b 0d 20 20 20 |e stack |*/.{. |
|00000460| 20 73 74 61 74 69 63 20 | 41 52 47 20 6d 79 61 72 | static |ARG myar|
|00000470| 67 5b 33 5d 3b 09 2f 2a | 20 66 61 6b 65 20 73 79 |g[3];./*| fake sy|
|00000480| 6e 74 61 78 20 74 72 65 | 65 20 6e 6f 64 65 20 2a |ntax tre|e node *|
|00000490| 2f 0d 20 20 20 20 69 6e | 74 20 61 72 67 6c 61 73 |/. in|t arglas|
|000004a0| 74 5b 33 5d 3b 0d 20 20 | 20 20 0d 20 20 20 20 61 |t[3];. | . a|
|000004b0| 72 67 6c 61 73 74 5b 32 | 5d 20 3d 20 73 70 3b 0d |rglast[2|] = sp;.|
|000004c0| 20 20 20 20 73 70 20 2d | 3d 20 6e 75 6d 61 72 67 | sp -|= numarg|
|000004d0| 73 3b 0d 20 20 20 20 61 | 72 67 6c 61 73 74 5b 31 |s;. a|rglast[1|
|000004e0| 5d 20 3d 20 73 70 2d 2d | 3b 0d 20 20 20 20 61 72 |] = sp--|;. ar|
|000004f0| 67 6c 61 73 74 5b 30 5d | 20 3d 20 73 70 3b 0d 0d |glast[0]| = sp;..|
|00000500| 20 20 20 20 69 66 20 28 | 21 6d 79 61 72 67 5b 30 | if (|!myarg[0|
|00000510| 5d 2e 61 72 67 5f 70 74 | 72 2e 61 72 67 5f 73 74 |].arg_pt|r.arg_st|
|00000520| 72 29 0d 09 6d 79 61 72 | 67 5b 30 5d 2e 61 72 67 |r)..myar|g[0].arg|
|00000530| 5f 70 74 72 2e 61 72 67 | 5f 73 74 72 20 3d 20 73 |_ptr.arg|_str = s|
|00000540| 74 72 5f 6d 61 6b 65 28 | 22 22 2c 30 29 3b 0d 0d |tr_make(|"",0);..|
|00000550| 20 20 20 20 6d 79 61 72 | 67 5b 31 5d 2e 61 72 67 | myar|g[1].arg|
|00000560| 5f 74 79 70 65 20 3d 20 | 41 5f 57 4f 52 44 3b 0d |_type = |A_WORD;.|
|00000570| 20 20 20 20 6d 79 61 72 | 67 5b 31 5d 2e 61 72 67 | myar|g[1].arg|
|00000580| 5f 70 74 72 2e 61 72 67 | 5f 73 74 61 62 20 3d 20 |_ptr.arg|_stab = |
|00000590| 73 74 61 62 65 6e 74 28 | 73 75 62 6e 61 6d 65 2c |stabent(|subname,|
|000005a0| 20 46 41 4c 53 45 29 3b | 0d 0d 20 20 20 20 6d 79 | FALSE);|.. my|
|000005b0| 61 72 67 5b 32 5d 2e 61 | 72 67 5f 74 79 70 65 20 |arg[2].a|rg_type |
|000005c0| 3d 20 68 61 73 61 72 67 | 73 20 3f 20 41 5f 45 58 |= hasarg|s ? A_EX|
|000005d0| 50 52 20 3a 20 41 5f 4e | 55 4c 4c 3b 0d 0d 20 20 |PR : A_N|ULL;.. |
|000005e0| 20 20 72 65 74 75 72 6e | 20 64 6f 5f 73 75 62 72 | return| do_subr|
|000005f0| 28 6d 79 61 72 67 2c 20 | 67 69 6d 6d 65 2c 20 61 |(myarg, |gimme, a|
|00000600| 72 67 6c 61 73 74 29 3b | 0d 7d 0d 0d 69 6e 74 0d |rglast);|.}..int.|
|00000610| 63 61 6c 6c 76 28 73 75 | 62 6e 61 6d 65 2c 20 73 |callv(su|bname, s|
|00000620| 70 2c 20 67 69 6d 6d 65 | 2c 20 61 72 67 76 29 0d |p, gimme|, argv).|
|00000630| 63 68 61 72 20 2a 73 75 | 62 6e 61 6d 65 3b 0d 72 |char *su|bname;.r|
|00000640| 65 67 69 73 74 65 72 20 | 69 6e 74 20 73 70 3b 09 |egister |int sp;.|
|00000650| 2f 2a 20 63 75 72 72 65 | 6e 74 20 73 74 61 63 6b |/* curre|nt stack|
|00000660| 20 70 6f 69 6e 74 65 72 | 20 2a 2f 0d 69 6e 74 20 | pointer| */.int |
|00000670| 67 69 6d 6d 65 3b 09 09 | 2f 2a 20 63 61 6c 6c 65 |gimme;..|/* calle|
|00000680| 64 20 69 6e 20 61 72 72 | 61 79 20 6f 72 20 73 63 |d in arr|ay or sc|
|00000690| 61 6c 61 72 20 63 6f 6e | 74 65 78 74 20 2a 2f 0d |alar con|text */.|
|000006a0| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 2a |register| char **|
|000006b0| 61 72 67 76 3b 09 2f 2a | 20 6e 75 6c 6c 20 74 65 |argv;./*| null te|
|000006c0| 72 6d 69 6e 61 74 65 64 | 20 61 72 67 20 6c 69 73 |rminated| arg lis|
|000006d0| 74 2c 20 4e 55 4c 4c 20 | 66 6f 72 20 6e 6f 20 61 |t, NULL |for no a|
|000006e0| 72 67 6c 69 73 74 20 2a | 2f 0d 7b 0d 20 20 20 20 |rglist *|/.{. |
|000006f0| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 69 74 65 |register| int ite|
|00000700| 6d 73 20 3d 20 30 3b 0d | 20 20 20 20 69 6e 74 20 |ms = 0;.| int |
|00000710| 68 61 73 61 72 67 73 20 | 3d 20 28 61 72 67 76 20 |hasargs |= (argv |
|00000720| 21 3d 20 30 29 3b 0d 0d | 20 20 20 20 61 73 74 6f |!= 0);..| asto|
|00000730| 72 65 28 73 74 61 63 6b | 2c 20 2b 2b 73 70 2c 20 |re(stack|, ++sp, |
|00000740| 4e 75 6c 6c 73 74 72 29 | 3b 09 2f 2a 20 72 65 73 |Nullstr)|;./* res|
|00000750| 65 72 76 65 20 73 70 6f | 74 20 66 6f 72 20 31 73 |erve spo|t for 1s|
|00000760| 74 20 72 65 74 75 72 6e | 20 61 72 67 20 2a 2f 0d |t return| arg */.|
|00000770| 20 20 20 20 69 66 20 28 | 68 61 73 61 72 67 73 29 | if (|hasargs)|
|00000780| 20 7b 0d 09 77 68 69 6c | 65 20 28 2a 61 72 67 76 | {..whil|e (*argv|
|00000790| 29 20 7b 0d 09 20 20 20 | 20 61 73 74 6f 72 65 28 |) {.. | astore(|
|000007a0| 73 74 61 63 6b 2c 20 2b | 2b 73 70 2c 20 73 74 72 |stack, +|+sp, str|
|000007b0| 5f 32 6d 6f 72 74 61 6c | 28 73 74 72 5f 6d 61 6b |_2mortal|(str_mak|
|000007c0| 65 28 2a 61 72 67 76 2c | 30 29 29 29 3b 0d 09 20 |e(*argv,|0)));.. |
|000007d0| 20 20 20 69 74 65 6d 73 | 2b 2b 3b 0d 09 20 20 20 | items|++;.. |
|000007e0| 20 61 72 67 76 2b 2b 3b | 0d 09 7d 0d 20 20 20 20 | argv++;|..}. |
|000007f0| 7d 0d 20 20 20 20 72 65 | 74 75 72 6e 20 63 61 6c |}. re|turn cal|
|00000800| 6c 62 61 63 6b 28 73 75 | 62 6e 61 6d 65 2c 20 73 |lback(su|bname, s|
|00000810| 70 2c 20 67 69 6d 6d 65 | 2c 20 68 61 73 61 72 67 |p, gimme|, hasarg|
|00000820| 73 2c 20 69 74 65 6d 73 | 29 3b 0d 7d 0d 0d 2f 2a |s, items|);.}../*|
|00000830| 0d 20 2a 20 54 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |. * The |followin|
|00000840| 67 20 69 73 20 73 75 70 | 70 6c 69 65 64 20 62 79 |g is sup|plied by|
|00000850| 20 4a 6f 68 6e 20 4d 61 | 63 64 6f 6e 61 6c 64 20 | John Ma|cdonald |
|00000860| 61 73 20 61 20 6d 65 61 | 6e 73 20 6f 66 20 64 65 |as a mea|ns of de|
|00000870| 63 72 79 70 74 69 6e 67 | 0d 20 2a 20 61 6e 64 20 |crypting|. * and |
|00000880| 65 78 65 63 75 74 69 6e | 67 20 28 70 72 65 73 75 |executin|g (presu|
|00000890| 6d 61 62 6c 79 20 70 72 | 6f 70 72 69 65 74 61 72 |mably pr|oprietar|
|000008a0| 79 29 20 73 63 72 69 70 | 74 73 20 74 68 61 74 20 |y) scrip|ts that |
|000008b0| 68 61 76 65 20 62 65 65 | 6e 20 65 6e 63 72 79 70 |have bee|n encryp|
|000008c0| 74 65 64 0d 20 2a 20 62 | 79 20 61 20 28 70 72 65 |ted. * b|y a (pre|
|000008d0| 73 75 6d 61 62 6c 79 20 | 73 65 63 72 65 74 29 20 |sumably |secret) |
|000008e0| 6d 65 74 68 6f 64 2e 20 | 20 54 68 65 20 69 64 65 |method. | The ide|
|000008f0| 61 20 69 73 20 74 68 61 | 74 20 79 6f 75 20 73 75 |a is tha|t you su|
|00000900| 70 70 6c 79 20 79 6f 75 | 72 20 6f 77 6e 0d 20 2a |pply you|r own. *|
|00000910| 20 72 6f 75 74 69 6e 65 | 20 69 6e 20 70 6c 61 63 | routine| in plac|
|00000920| 65 20 6f 66 20 63 72 79 | 70 74 66 69 6c 74 65 72 |e of cry|ptfilter|
|00000930| 20 28 77 68 69 63 68 20 | 69 73 20 70 75 72 70 6f | (which |is purpo|
|00000940| 73 65 66 75 6c 6c 79 20 | 61 20 76 65 72 79 20 77 |sefully |a very w|
|00000950| 65 61 6b 0d 20 2a 20 65 | 6e 63 72 79 70 74 69 6f |eak. * e|ncryptio|
|00000960| 6e 29 2e 20 20 49 66 20 | 61 6e 20 65 6e 63 72 79 |n). If |an encry|
|00000970| 70 74 65 64 20 73 63 72 | 69 70 74 20 69 73 20 64 |pted scr|ipt is d|
|00000980| 65 74 65 63 74 65 64 2c | 20 61 20 70 72 6f 63 65 |etected,| a proce|
|00000990| 73 73 20 69 73 20 66 6f | 72 6b 65 64 0d 20 2a 20 |ss is fo|rked. * |
|000009a0| 6f 66 66 20 74 6f 20 72 | 75 6e 20 74 68 65 20 63 |off to r|un the c|
|000009b0| 72 79 70 74 66 69 6c 74 | 65 72 20 72 6f 75 74 69 |ryptfilt|er routi|
|000009c0| 6e 65 20 61 73 20 69 6e | 70 75 74 20 74 6f 20 70 |ne as in|put to p|
|000009d0| 65 72 6c 2e 0d 20 2a 2f | 0d 0d 23 69 66 64 65 66 |erl.. */|..#ifdef|
|000009e0| 20 43 52 59 50 54 53 43 | 52 49 50 54 0d 0d 23 69 | CRYPTSC|RIPT..#i|
|000009f0| 6e 63 6c 75 64 65 20 3c | 73 69 67 6e 61 6c 2e 68 |nclude <|signal.h|
|00000a00| 3e 0d 23 69 66 64 65 66 | 20 49 5f 56 46 4f 52 4b |>.#ifdef| I_VFORK|
|00000a10| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 76 66 6f 72 6b |.#includ|e <vfork|
|00000a20| 2e 68 3e 0d 23 65 6e 64 | 69 66 0d 0d 23 69 66 64 |.h>.#end|if..#ifd|
|00000a30| 65 66 20 43 52 59 50 54 | 4c 4f 43 41 4c 0d 0d 23 |ef CRYPT|LOCAL..#|
|00000a40| 69 6e 63 6c 75 64 65 20 | 22 63 72 79 70 74 6c 6f |include |"cryptlo|
|00000a50| 63 61 6c 2e 68 22 0d 0d | 23 65 6c 73 65 09 2f 2a |cal.h"..|#else./*|
|00000a60| 20 6e 64 65 66 20 43 52 | 59 50 54 4c 4f 43 41 4c | ndef CR|YPTLOCAL|
|00000a70| 20 2a 2f 0d 0d 23 64 65 | 66 69 6e 65 09 43 52 59 | */..#de|fine.CRY|
|00000a80| 50 54 5f 4d 41 47 49 43 | 5f 31 09 30 78 66 62 0d |PT_MAGIC|_1.0xfb.|
|00000a90| 23 64 65 66 69 6e 65 09 | 43 52 59 50 54 5f 4d 41 |#define.|CRYPT_MA|
|00000aa0| 47 49 43 5f 32 09 30 78 | 66 31 0d 0d 76 6f 69 64 |GIC_2.0x|f1..void|
|00000ab0| 0d 63 72 79 70 74 66 69 | 6c 74 65 72 28 20 66 69 |.cryptfi|lter( fi|
|00000ac0| 6c 20 29 0d 46 49 4c 45 | 20 2a 09 66 69 6c 3b 0d |l ).FILE| *.fil;.|
|00000ad0| 7b 0d 20 20 20 20 69 6e | 74 20 20 20 20 63 68 3b |{. in|t ch;|
|00000ae0| 0d 0d 20 20 20 20 77 68 | 69 6c 65 28 20 28 63 68 |.. wh|ile( (ch|
|00000af0| 20 3d 20 67 65 74 63 28 | 20 66 69 6c 20 29 29 20 | = getc(| fil )) |
|00000b00| 21 3d 20 45 4f 46 20 29 | 20 7b 0d 09 70 75 74 63 |!= EOF )| {..putc|
|00000b10| 68 61 72 28 20 28 63 68 | 20 5e 20 30 78 38 30 29 |har( (ch| ^ 0x80)|
|00000b20| 20 29 3b 0d 20 20 20 20 | 7d 0d 7d 0d 0d 23 65 6e | );. |}.}..#en|
|00000b30| 64 69 66 09 2f 2a 20 43 | 52 59 50 54 4c 4f 43 41 |dif./* C|RYPTLOCA|
|00000b40| 4c 20 2a 2f 0d 0d 23 69 | 66 6e 64 65 66 20 4d 53 |L */..#i|fndef MS|
|00000b50| 44 4f 53 0d 73 74 61 74 | 69 63 20 46 49 4c 45 09 |DOS.stat|ic FILE.|
|00000b60| 2a 6c 61 73 74 70 69 70 | 65 66 69 6c 65 3b 0d 73 |*lastpip|efile;.s|
|00000b70| 74 61 74 69 63 20 69 6e | 74 09 70 69 70 65 70 69 |tatic in|t.pipepi|
|00000b80| 64 3b 0d 0d 23 69 66 64 | 65 66 20 56 4f 49 44 53 |d;..#ifd|ef VOIDS|
|00000b90| 49 47 0d 23 20 20 64 65 | 66 69 6e 65 09 56 4f 49 |IG.# de|fine.VOI|
|00000ba0| 44 09 76 6f 69 64 0d 23 | 65 6c 73 65 0d 23 20 20 |D.void.#|else.# |
|00000bb0| 64 65 66 69 6e 65 09 56 | 4f 49 44 09 69 6e 74 0d |define.V|OID.int.|
|00000bc0| 23 65 6e 64 69 66 0d 0d | 46 49 4c 45 20 2a 0d 6d |#endif..|FILE *.m|
|00000bd0| 79 70 66 69 6f 70 65 6e | 28 66 69 6c 2c 66 75 6e |ypfiopen|(fil,fun|
|00000be0| 63 29 09 09 2f 2a 20 6f | 70 65 6e 20 61 20 70 69 |c)../* o|pen a pi|
|00000bf0| 70 65 20 74 6f 20 66 75 | 6e 63 74 69 6f 6e 20 63 |pe to fu|nction c|
|00000c00| 61 6c 6c 20 66 6f 72 20 | 69 6e 70 75 74 20 2a 2f |all for |input */|
|00000c10| 0d 46 49 4c 45 09 2a 66 | 69 6c 3b 0d 56 4f 49 44 |.FILE.*f|il;.VOID|
|00000c20| 09 28 2a 66 75 6e 63 29 | 28 29 3b 0d 7b 0d 20 20 |.(*func)|();.{. |
|00000c30| 20 20 69 6e 74 20 70 5b | 32 5d 3b 0d 20 20 20 20 | int p[|2];. |
|00000c40| 53 54 52 20 2a 73 74 72 | 3b 0d 0d 20 20 20 20 69 |STR *str|;.. i|
|00000c50| 66 20 28 70 69 70 65 28 | 70 29 20 3c 20 30 29 20 |f (pipe(|p) < 0) |
|00000c60| 7b 0d 09 66 63 6c 6f 73 | 65 28 20 66 69 6c 20 29 |{..fclos|e( fil )|
|00000c70| 3b 0d 09 66 61 74 61 6c | 28 22 43 61 6e 27 74 20 |;..fatal|("Can't |
|00000c80| 67 65 74 20 70 69 70 65 | 20 66 6f 72 20 64 65 63 |get pipe| for dec|
|00000c90| 72 79 70 74 22 29 3b 0d | 20 20 20 20 7d 0d 0d 20 |rypt");.| }.. |
|00000ca0| 20 20 20 2f 2a 20 6d 61 | 6b 65 20 73 75 72 65 20 | /* ma|ke sure |
|00000cb0| 74 68 61 74 20 74 68 65 | 20 63 68 69 6c 64 20 64 |that the| child d|
|00000cc0| 6f 65 73 6e 27 74 20 67 | 65 74 20 61 6e 79 74 68 |oesn't g|et anyth|
|00000cd0| 69 6e 67 20 65 78 74 72 | 61 20 2a 2f 0d 20 20 20 |ing extr|a */. |
|00000ce0| 20 66 66 6c 75 73 68 28 | 73 74 64 6f 75 74 29 3b | fflush(|stdout);|
|00000cf0| 0d 20 20 20 20 66 66 6c | 75 73 68 28 73 74 64 65 |. ffl|ush(stde|
|00000d00| 72 72 29 3b 0d 0d 20 20 | 20 20 77 68 69 6c 65 20 |rr);.. | while |
|00000d10| 28 28 70 69 70 65 70 69 | 64 20 3d 20 66 6f 72 6b |((pipepi|d = fork|
|00000d20| 28 29 29 20 3c 20 30 29 | 20 7b 0d 09 69 66 20 28 |()) < 0)| {..if (|
|00000d30| 65 72 72 6e 6f 20 21 3d | 20 45 41 47 41 49 4e 29 |errno !=| EAGAIN)|
|00000d40| 20 7b 0d 09 20 20 20 20 | 63 6c 6f 73 65 28 70 5b | {.. |close(p[|
|00000d50| 30 5d 29 3b 0d 09 20 20 | 20 20 63 6c 6f 73 65 28 |0]);.. | close(|
|00000d60| 70 5b 31 5d 29 3b 0d 09 | 20 20 20 20 66 63 6c 6f |p[1]);..| fclo|
|00000d70| 73 65 28 20 66 69 6c 20 | 29 3b 0d 09 20 20 20 20 |se( fil |);.. |
|00000d80| 66 61 74 61 6c 28 22 43 | 61 6e 27 74 20 66 6f 72 |fatal("C|an't for|
|00000d90| 6b 20 66 6f 72 20 64 65 | 63 72 79 70 74 22 29 3b |k for de|crypt");|
|00000da0| 0d 09 7d 0d 09 73 6c 65 | 65 70 28 35 29 3b 0d 20 |..}..sle|ep(5);. |
|00000db0| 20 20 20 7d 0d 20 20 20 | 20 69 66 20 28 70 69 70 | }. | if (pip|
|00000dc0| 65 70 69 64 20 3d 3d 20 | 30 29 20 7b 0d 09 63 6c |epid == |0) {..cl|
|00000dd0| 6f 73 65 28 70 5b 30 5d | 29 3b 0d 09 69 66 20 28 |ose(p[0]|);..if (|
|00000de0| 70 5b 31 5d 20 21 3d 20 | 31 29 20 7b 0d 09 20 20 |p[1] != |1) {.. |
|00000df0| 20 20 64 75 70 32 28 70 | 5b 31 5d 2c 20 31 29 3b | dup2(p|[1], 1);|
|00000e00| 0d 09 20 20 20 20 63 6c | 6f 73 65 28 70 5b 31 5d |.. cl|ose(p[1]|
|00000e10| 29 3b 0d 09 7d 0d 09 28 | 2a 66 75 6e 63 29 28 66 |);..}..(|*func)(f|
|00000e20| 69 6c 29 3b 0d 09 66 66 | 6c 75 73 68 28 73 74 64 |il);..ff|lush(std|
|00000e30| 6f 75 74 29 3b 0d 09 66 | 66 6c 75 73 68 28 73 74 |out);..f|flush(st|
|00000e40| 64 65 72 72 29 3b 0d 09 | 5f 65 78 69 74 28 30 29 |derr);..|_exit(0)|
|00000e50| 3b 0d 20 20 20 20 7d 0d | 20 20 20 20 63 6c 6f 73 |;. }.| clos|
|00000e60| 65 28 70 5b 31 5d 29 3b | 0d 20 20 20 20 63 6c 6f |e(p[1]);|. clo|
|00000e70| 73 65 28 66 69 6c 65 6e | 6f 28 66 69 6c 29 29 3b |se(filen|o(fil));|
|00000e80| 0d 20 20 20 20 66 63 6c | 6f 73 65 28 66 69 6c 29 |. fcl|ose(fil)|
|00000e90| 3b 0d 20 20 20 20 73 74 | 72 20 3d 20 61 66 65 74 |;. st|r = afet|
|00000ea0| 63 68 28 66 64 70 69 64 | 2c 70 5b 30 5d 2c 54 52 |ch(fdpid|,p[0],TR|
|00000eb0| 55 45 29 3b 0d 20 20 20 | 20 73 74 72 2d 3e 73 74 |UE);. | str->st|
|00000ec0| 72 5f 75 2e 73 74 72 5f | 75 73 65 66 75 6c 20 3d |r_u.str_|useful =|
|00000ed0| 20 70 69 70 65 70 69 64 | 3b 0d 20 20 20 20 72 65 | pipepid|;. re|
|00000ee0| 74 75 72 6e 20 66 64 6f | 70 65 6e 28 70 5b 30 5d |turn fdo|pen(p[0]|
|00000ef0| 2c 20 22 72 22 29 3b 0d | 7d 0d 0d 76 6f 69 64 0d |, "r");.|}..void.|
|00000f00| 63 72 79 70 74 73 77 69 | 74 63 68 28 29 0d 7b 0d |cryptswi|tch().{.|
|00000f10| 20 20 20 20 69 6e 74 20 | 63 68 3b 0d 23 69 66 64 | int |ch;.#ifd|
|00000f20| 65 66 20 53 54 44 53 54 | 44 49 4f 0d 20 20 20 20 |ef STDST|DIO. |
|00000f30| 2f 2a 20 63 68 65 61 74 | 20 6f 6e 20 73 74 64 69 |/* cheat| on stdi|
|00000f40| 6f 20 69 66 20 70 6f 73 | 73 69 62 6c 65 20 2a 2f |o if pos|sible */|
|00000f50| 0d 20 20 20 20 69 66 20 | 28 72 73 66 70 2d 3e 5f |. if |(rsfp->_|
|00000f60| 63 6e 74 20 3e 20 30 20 | 26 26 20 28 2a 72 73 66 |cnt > 0 |&& (*rsf|
|00000f70| 70 2d 3e 5f 70 74 72 20 | 26 20 30 78 66 66 29 20 |p->_ptr |& 0xff) |
|00000f80| 21 3d 20 43 52 59 50 54 | 5f 4d 41 47 49 43 5f 31 |!= CRYPT|_MAGIC_1|
|00000f90| 29 0d 09 72 65 74 75 72 | 6e 3b 0d 23 65 6e 64 69 |)..retur|n;.#endi|
|00000fa0| 66 0d 20 20 20 20 63 68 | 20 3d 20 67 65 74 63 28 |f. ch| = getc(|
|00000fb0| 72 73 66 70 29 3b 0d 20 | 20 20 20 69 66 20 28 63 |rsfp);. | if (c|
|00000fc0| 68 20 3d 3d 20 43 52 59 | 50 54 5f 4d 41 47 49 43 |h == CRY|PT_MAGIC|
|00000fd0| 5f 31 29 20 7b 0d 09 69 | 66 20 28 67 65 74 63 28 |_1) {..i|f (getc(|
|00000fe0| 72 73 66 70 29 20 3d 3d | 20 43 52 59 50 54 5f 4d |rsfp) ==| CRYPT_M|
|00000ff0| 41 47 49 43 5f 32 29 20 | 7b 0d 09 20 20 20 20 69 |AGIC_2) |{.. i|
|00001000| 66 28 20 70 65 72 6c 64 | 62 20 29 20 66 61 74 61 |f( perld|b ) fata|
|00001010| 6c 28 22 63 61 6e 27 74 | 20 64 65 62 75 67 20 61 |l("can't| debug a|
|00001020| 6e 20 65 6e 63 72 79 70 | 74 65 64 20 73 63 72 69 |n encryp|ted scri|
|00001030| 70 74 22 29 3b 0d 09 20 | 20 20 20 72 73 66 70 20 |pt");.. | rsfp |
|00001040| 3d 20 6d 79 70 66 69 6f | 70 65 6e 28 20 72 73 66 |= mypfio|pen( rsf|
|00001050| 70 2c 20 63 72 79 70 74 | 66 69 6c 74 65 72 20 29 |p, crypt|filter )|
|00001060| 3b 0d 09 20 20 20 20 70 | 72 65 70 72 6f 63 65 73 |;.. p|reproces|
|00001070| 73 20 3d 20 31 3b 09 2f | 2a 20 66 6f 72 63 65 20 |s = 1;./|* force |
|00001080| 63 61 6c 6c 20 74 6f 20 | 70 63 6c 6f 73 65 20 77 |call to |pclose w|
|00001090| 68 65 6e 20 64 6f 6e 65 | 20 2a 2f 0d 09 7d 0d 09 |hen done| */..}..|
|000010a0| 65 6c 73 65 0d 09 20 20 | 20 20 66 61 74 61 6c 28 |else.. | fatal(|
|000010b0| 20 22 62 61 64 20 65 6e | 63 72 79 70 74 69 6f 6e | "bad en|cryption|
|000010c0| 20 66 6f 72 6d 61 74 22 | 20 29 3b 0d 20 20 20 20 | format"| );. |
|000010d0| 7d 0d 20 20 20 20 65 6c | 73 65 0d 09 75 6e 67 65 |}. el|se..unge|
|000010e0| 74 63 28 63 68 2c 72 73 | 66 70 29 3b 0d 7d 0d 23 |tc(ch,rs|fp);.}.#|
|000010f0| 65 6e 64 69 66 20 2f 2a | 20 21 4d 53 44 4f 53 20 |endif /*| !MSDOS |
|00001100| 2a 2f 0d 0d 23 65 6e 64 | 69 66 20 2f 2a 20 43 52 |*/..#end|if /* CR|
|00001110| 59 50 54 53 43 52 49 50 | 54 20 2a 2f 0d 00 00 00 |YPTSCRIP|T */....|
|00001120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001180| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00001190| 09 73 20 3d 20 63 70 79 | 74 69 6c 6c 28 64 2c 73 |.s = cpy|till(d,s|
|000011a0| 2c 62 75 66 65 6e 64 2c | 74 65 72 6d 2c 26 6c 65 |,bufend,|term,&le|
|000011b0| 09 75 73 65 72 73 75 62 | 2e 63 02 00 00 00 54 45 |.usersub|.c....TE|
|000011c0| 58 54 4d 50 53 20 00 00 | 03 40 00 00 00 00 00 00 |XTMPS ..|.@......|
|000011d0| 00 00 54 45 58 54 4d 50 | 53 20 00 00 03 40 00 00 |..TEXTMP|S ...@..|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 a6 ea b4 d4 00 00 | 10 9d 00 00 01 ac 5c 27 |........|......\'|
|00001200| 29 0d 09 09 20 20 20 20 | 73 2b 2b 2c 20 74 65 72 |)... |s++, ter|
|00001210| 6d 20 3d 20 27 5c 27 27 | 3b 0d 09 09 65 6c 73 65 |m = '\''|;...else|
|00001220| 0d 09 09 20 20 20 20 74 | 65 72 6d 20 3d 20 27 22 |... t|erm = '"|
|00001230| 27 3b 0d 09 09 77 68 69 | 6c 65 20 28 69 73 41 4c |';...whi|le (isAL|
|00001240| 4e 55 4d 28 2a 73 29 29 | 0d 09 09 20 20 20 20 2a |NUM(*s))|... *|
|00001250| 64 2b 2b 20 3d 20 2a 73 | 2b 2b 3b 0d 09 20 20 20 |d++ = *s|++;.. |
|00001260| 20 7d 09 09 09 09 2f 2a | 20 61 73 73 75 6d 69 6e | }..../*| assumin|
|00001270| 67 20 74 6f 6b 65 6e 62 | 75 66 20 77 6f 6e 27 74 |g tokenb|uf won't|
|00001280| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 39 32 2f |...H..Mo|naco.92/|
|00001290| 30 36 2f 30 38 20 31 36 | 3a 30 34 3a 32 34 20 24 |06/08 16|:04:24 $|
|000012a0| 0d 20 2a 0d 20 2a 00 06 | 00 03 00 50 00 20 01 dd |. *. *..|...P. ..|
|000012b0| 02 3d 00 50 00 20 01 dd | 02 3d a6 ea d4 d0 00 00 |.=.P. ..|.=......|
|000012c0| 0e 80 00 00 0e 80 00 00 | 0d d8 01 00 00 00 00 1e |........|........|
|000012d0| 00 50 00 20 01 dd 02 3d | 00 50 00 20 01 dd 02 3d |.P. ...=|.P. ...=|
|000012e0| 00 00 0d d8 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012f0| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 51 |.....n..|.n...>.Q|
|00001300| 62 20 0d f6 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |b ......|.>..MPSR|
|00001310| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|00001320| 03 f0 ff ff 00 00 00 4c | 00 57 95 e0 00 00 00 00 |.......L|.W......|
|00001330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+